Sound bar to provide information associated with a media item

ABSTRACT

Example techniques relate to a soundbar that provides information associated with a media item. In an example implementation, the soundbar plays back audio associated with the particular media item. The soundbar also sends instructions to cause a mobile device to display graphical representations of first information associated with the particular media item while the soundbar playing back the particular media item. The soundbar further sends a request for second information associated with the particular media item, receives, from a server of a cloud computing service, data representing the requested second information associated with the particular media item, causes a television to display graphical representations of the requested second information associated with the particular media item on a display of the television while the sound-bar playback device is playing back the audio associated with the particular media item.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. § 120 to, and is acontinuation of, U.S. non-provisional patent application Ser. No.16/683,083, filed on Nov. 13, 2019, entitled “Sound Bar to ProvideInformation Associated with a Media Item,” which is incorporated hereinby reference in its entirety.

U.S. non-provisional patent application Ser. No. 16/683,083 claimspriority under 35 U.S.C. § 120 to, and is a continuation of, U.S.non-provisional patent application Ser. No. 14/557,099, filed on Dec. 1,2014, entitled “Providing Information Associated with a Media Item,”which is incorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The disclosure is related to consumer goods and, more particularly, tomethods, systems, products, features, services, and other elementsdirected to media playback or some aspect thereof.

BACKGROUND

Options for accessing and listening to digital audio in an out-loudsetting were limited until in 2003, when SONOS, Inc. filed for one ofits first patent applications, entitled “Method for Synchronizing AudioPlayback between Multiple Networked Devices,” and began offering a mediaplayback system for sale in 2005. The Sonos Wireless HiFi System enablespeople to experience music from a plethora of sources via one or morenetworked playback devices. Through a software control applicationinstalled on a smartphone, tablet, or computer, one can play what he orshe wants in any room that has a networked playback device.Additionally, using the controller, for example, different songs can bestreamed to each room with a playback device, rooms can be groupedtogether for synchronous playback, or the same song can be heard in allrooms synchronously.

Given the ever growing interest in digital media, there continues to bea need to develop consumer-accessible technologies to further enhancethe listening experience.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the presently disclosed technologymay be better understood with regard to the following description,appended claims, and accompanying drawings where:

FIG. 1 shows an example media playback system configuration in whichcertain embodiments may be practiced;

FIG. 2 shows a functional block diagram of an example playback device;

FIG. 3 shows a functional block diagram of an example control device;

FIG. 4 shows an example controller interface;

FIG. 5 shows an example media playback system environment;

FIG. 6 shows an example flow diagram of a method for providinginformation associated with a media item; and

FIG. 7 shows an example display of information associated with a mediaitem.

The drawings are for the purpose of illustrating example embodiments,but it is understood that the inventions are not limited to thearrangements and instrumentality shown in the drawings.

DETAILED DESCRIPTION I. Overview

During playback of a media item by a media playback system, someinformation associated with the media item may be provided on a controldevice used to manage and control the media playback system. Forinstance, a track title, a name of an artist, an album title, and/oralbum artwork associated with the media item being played may bedisplayed on a control interface provided on a graphical display of thecontrol device. In some cases, however, the information provided on thegraphical display of the control device may be limited due to an amountof display space available on the graphical display, and/or an amount ofinformation that is available for display. As such, to enhance anexperience of the media item, additional information associated with themedia item may be provided on an additional graphical display, while themedia playback system is playing the media item.

Some examples described herein involve providing for display,information associated with the media item that is additional to theinformation provided on the control interface of the control devicewhile the media item is being played by the media playback system. Inone example, a computing device may receive data indicating a media itembeing played by a playback device of a media playback system, and basedon the data indicating the media item, transmit to one or more mediainformation sources, a request for information associated with the mediaitem. Subsequently, the computing device may receive from the one ormore media information sources, data indicating information associatedwith the media item, and provide for display on a graphical display,representations of at least a portion of the information. In one case,functions of the computing device for providing the informationassociated with the media item may be performed by a softwareapplication installed on the computing device.

In one case, the computing device may be a network device that is incommunication with the media playback system playing the media item, thegraphical display, and one or more media information sources. When themedia playback system is playing, or is about to play the media item,the computing device may receive from one or more devices in the mediaplayback system, the data indicating the media item. In one case, thecomputing device may subscribe to data indicating media items beingplayed by the media playback system, and may accordingly receive datafrom the media playback system when the media playback system isplaying, or is about to play a media item. In another case, thecomputing device may receive the data after transmitting to the mediaplayback system, a request for the data. Other examples are alsopossible.

The data indicating the media item may include metadata associated withthe media item, such as a track title, an artist name, an album name, agenre, and/or a track identification of the media item for acorresponding streaming media service, among other possibilities. In onecase, the metadata associated with the media item may have been providedto the media playback system by the service provider from which themedia playback system is streaming the media item.

The computing device may then transmit to the one or more mediainformation sources, a request for information based on the dataindicating the media item, and subsequently, receive from the one ormore servers associated with the one or more media information sources,data indicating information associated with the media item. Forinstance, the computing device may transmit to the one or more mediainformation sources, a request for information on the artist associatedwith the media item, and subsequently receive information on the artist,such as a biography of the artist.

The one or more media information source may include one or more of aservice provider from which the media item is being streamed, a serviceprovider from which the media item is available, a media informationaggregation service, a social network interface, and a server associatedwith the media playback system.

In one example, the computing device may transmit the request forinformation to each of the one or more media information sources atsubstantially the same time. In another example, the computing devicemay transmit the request for information to each of the one or moremedia information sources sequentially according to an informationsource priority corresponding to each respective media informationsource. For instance, a first media information source of the one ormore media information sources may have a higher information sourcepriority than a second media information source of the one or more mediainformation sources. In such a case, the computing device may first sendto the first media information source, a first request for informationassociated with the media item. Then, after receiving data from thefirst media information source in response to the first request, thecomputing device may send to the second media information source, asecond request for information associated with the media item notalready indicated by the data received from the first media informationsource. Other examples are also possible.

Upon receiving the data indicating information associated with the mediaitem, the computing device may cause for display on the graphicaldisplay in communication with the computing device, representations ofat least a portion of the information. In one example, the display ofthe representations may be provided according to a display template.

For instance, a first region of the graphical display may displayinformation relating to a zone or zone group within which the media itemis playing, a second region of the graphical display may displayinformation relating to one or more social media feeds associated withthe media item, a third region of the graphical display may displayinformation relating to trivia associated with the media item, and afourth region of the graphical display may display information relatingto song lyrics of the media item, among other possibilities.

As such, in one example, the computing device may, as part of causingfor display the representations of at least the portion of theinformation, process the data indicating the information to categorizethe information based on the display template. In one case, thecomputing device may process the data by parsing the information anddetermining a category of the information. For instance, if a firstportion of the information indicates social media feeds relating to theartist of the media item, representations of the first portion ofinformation may be provided for display in the second region of thegraphical display.

In another case, the computing device may process the data based on asource of the data. For instance, if a second portion of the informationis received from a media information source that provides song lyricsfor media items, representations of the second portion of theinformation may be provided for display in the fourth region of thegraphical display. Other examples are also possible.

A fifth region of the graphical display may display information relatingto the particular media item, such as track title, artist name, albumname, and/or album art, among other possibilities. The informationdisplayed in the second region may include information also displayed onthe controller interface of the control device while the media item isplaying.

In one example, the computing device may further request from the one ormore media information sources, information associated with a next mediaitem that is to be played by the media playback system upon completingplayback of the media item being played by the media playback system. Inone case, the computing device may also cause the graphical display todisplay in a sixth region of the graphical display, representations ofat least a portion of the information associated with the next mediaitem. Other examples are also possible.

In one example, the computing device may provide for display on thegraphical display representations of at least the portions of theinformation after all data indicating the information has been received,and processed. In another example, the computing device may provide fordisplay on the graphical display, representations of at least theportions of the information as data indicating the information isreceived, and processed. For instance, if data indicating song lyrics ofthe media item is received and processed before data indicating triviaassociated with the media item, the song lyrics may be displayed in thefourth region before the trivia associated with the media item isdisplayed in the third region. Other examples are also possible.

As indicated above, the present discussions involve receiving andproviding for display, information associated with the media item. Inone aspect, a computing device is provided. The computing deviceincludes a processor and memory having stored thereon instructionsexecutable by the processor to cause the device to perform functions.The functions include receiving data indicating a media item beingplayed by a playback device of a media playback system, based on thedata indicating the media item, transmitting to one or more mediainformation sources, a request for information associated with the mediaitem, receiving from the one or more media information sources, dataindicating information associated with the media item, and while theplayback device is playing the media item, providing for display on agraphical display, representations of at least a portion of theinformation.

In another aspect, a method is provided. The method involves receivingby a computing device, data indicating a media item being played by aplayback device of a media playback system, based on the data indicatingthe media item, transmitting from the computing device to one or moremedia information sources, a request for information associated with themedia item, receiving by the computing device from the one or more mediainformation sources, data indicating information associated with themedia item, and while the playback device is playing the media item,providing by the computing device for display on a graphical display,representations of at least a portion of the information.

In a further aspect, a non-transitory computer readable medium isprovided. The non-transitory computer readable medium has stored thereoninstructions executable by a computing device to cause the computingdevice to perform functions. The functions include receiving dataindicating a media item being played by a playback device of a mediaplayback system, based on the data indicating the media item,transmitting to one or more media information sources, a request forinformation associated with the media item, receiving from the one ormore media information sources, data indicating information associatedwith the media item, and while the playback device is playing the mediaitem, providing for display on a graphical display, representations ofat least a portion of the information.

While some examples described herein may refer to functions performed bygiven actors such as “users” and/or other entities, it should beunderstood that this is for purposes of explanation only. The claimsshould not be interpreted to require action by any such example actorunless explicitly required by the language of the claims themselves. Itwill be understood by one of ordinary skill in the art that thisdisclosure includes numerous other embodiments.

II. Example Operating Environment

FIG. 1 shows an example configuration of a media playback system 100 inwhich one or more embodiments disclosed herein may be practiced orimplemented. The media playback system 100 as shown is associated withan example home environment having several rooms and spaces, such as forexample, a master bedroom, an office, a dining room, and a living room.As shown in the example of FIG. 1 , the media playback system 100includes playback devices 102-124, control devices 126 and 128, and awired or wireless network router 130.

Further discussions relating to the different components of the examplemedia playback system 100 and how the different components may interactto provide a user with a media experience may be found in the followingsections. While discussions herein may generally refer to the examplemedia playback system 100, technologies described herein are not limitedto applications within, among other things, the home environment asshown in FIG. 1 . For instance, the technologies described herein may beuseful in environments where multi-zone audio may be desired, such as,for example, a commercial setting like a restaurant, mall or airport, avehicle like a sports utility vehicle (SUV), bus or car, a ship or boat,an airplane, and so on.

a. Example Playback Devices

FIG. 2 shows a functional block diagram of an example playback device200 that may be configured to be one or more of the playback devices102-124 of the media playback system 100 of FIG. 1 . The playback device200 may include a processor 202, software components 204, memory 206,audio processing components 208, audio amplifier(s) 210, speaker(s) 212,microphone(s) 220, and a network interface 214 including wirelessinterface(s) 216 and wired interface(s) 218. In one case, the playbackdevice 200 may not include the speaker(s) 212, but rather a speakerinterface for connecting the playback device 200 to external speakers.In another case, the playback device 200 may include neither thespeaker(s) 212 nor the audio amplifier(s) 210, but rather an audiointerface for connecting the playback device 200 to an external audioamplifier or audio-visual receiver.

In one example, the processor 202 may be a clock-driven computingcomponent configured to process input data according to instructionsstored in the memory 206. The memory 206 may be a tangiblecomputer-readable medium configured to store instructions executable bythe processor 202. For instance, the memory 206 may be data storage thatcan be loaded with one or more of the software components 204 executableby the processor 202 to achieve certain functions. In one example, thefunctions may involve the playback device 200 retrieving audio data froman audio source or another playback device. In another example, thefunctions may involve the playback device 200 sending audio data toanother device or playback device on a network. In yet another example,the functions may involve pairing of the playback device 200 with one ormore playback devices to create a multi-channel audio environment.

Certain functions may involve the playback device 200 synchronizingplayback of audio content with one or more other playback devices.During synchronous playback, a listener will preferably not be able toperceive time-delay differences between playback of the audio content bythe playback device 200 and the one or more other playback devices. U.S.Pat. No. 8,234,395 entitled, “System and method for synchronizingoperations among a plurality of independently clocked digital dataprocessing devices,” which is hereby incorporated by reference, providesin more detail some examples for audio playback synchronization amongplayback devices.

The memory 206 may further be configured to store data associated withthe playback device 200, such as one or more zones and/or zone groupsthe playback device 200 is a part of, audio sources accessible by theplayback device 200, or a playback queue that the playback device 200(or some other playback device) may be associated with. The data may bestored as one or more state variables that are periodically updated andused to describe the state of the playback device 200. The memory 206may also include the data associated with the state of the other devicesof the media system, and shared from time to time among the devices sothat one or more of the devices have the most recent data associatedwith the system. Other embodiments are also possible.

The audio processing components 208 may include one or more ofdigital-to-analog converters (DAC), analog-to-digital converters (ADC),audio preprocessing components, audio enhancement components, and adigital signal processor (DSP), among others. In one embodiment, one ormore of the audio processing components 208 may be a subcomponent of theprocessor 202. In one example, audio content may be processed and/orintentionally altered by the audio processing components 208 to produceaudio signals. The produced audio signals may then be provided to theaudio amplifier(s) 210 for amplification and playback through speaker(s)212. Particularly, the audio amplifier(s) 210 may include devicesconfigured to amplify audio signals to a level for driving one or moreof the speakers 212. The speaker(s) 212 may include an individualtransducer (e.g., a “driver”) or a complete speaker system involving anenclosure with one or more drivers. A particular driver of thespeaker(s) 212 may include, for example, a subwoofer (e.g., for lowfrequencies), a mid-range driver (e.g., for middle frequencies), and/ora tweeter (e.g., for high frequencies). In some cases, each transducerin the one or more speakers 212 may be driven by an individualcorresponding audio amplifier of the audio amplifier(s) 210. In additionto producing analog signals for playback by the playback device 200, theaudio processing components 208 may be configured to process audiocontent to be sent to one or more other playback devices for playback.

Audio content to be processed and/or played back by the playback device200 may be received from an external source, such as via an audioline-in input connection (e.g., an auto-detecting 3.5 mm audio line-inconnection) or the network interface 214.

The microphone(s) 220 may include an audio sensor configured to convertdetected sounds into electrical signals. The electrical signal may beprocessed by the audio processing components 208 and/or the processor202. The microphone(s) 220 may be positioned in one or more orientationsat one or more locations on the playback device 200. The microphone(s)220 may be configured to detect sound within one or more frequencyranges. In one case, one or more of the microphone(s) 220 may beconfigured to detect sound within a frequency range of audio that theplayback device 200 is capable or rendering. In another case, one ormore of the microphone(s) 220 may be configured to detect sound within afrequency range audible to humans. Other examples are also possible.

The network interface 214 may be configured to facilitate a data flowbetween the playback device 200 and one or more other devices on a datanetwork. As such, the playback device 200 may be configured to receiveaudio content over the data network from one or more other playbackdevices in communication with the playback device 200, network deviceswithin a local area network, or audio content sources over a wide areanetwork such as the Internet. In one example, the audio content andother signals transmitted and received by the playback device 200 may betransmitted in the form of digital packet data containing an InternetProtocol (IP)-based source address and IP-based destination addresses.In such a case, the network interface 214 may be configured to parse thedigital packet data such that the data destined for the playback device200 is properly received and processed by the playback device 200.

As shown, the network interface 214 may include wireless interface(s)216 and wired interface(s) 218. The wireless interface(s) 216 mayprovide network interface functions for the playback device 200 towirelessly communicate with other devices (e.g., other playbackdevice(s), speaker(s), receiver(s), network device(s), control device(s)within a data network the playback device 200 is associated with) inaccordance with a communication protocol (e.g., any wireless standardincluding IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.15, 4Gmobile communication standard, and so on). The wired interface(s) 218may provide network interface functions for the playback device 200 tocommunicate over a wired connection with other devices in accordancewith a communication protocol (e.g., IEEE 802.3). While the networkinterface 214 shown in FIG. 2 includes both wireless interface(s) 216and wired interface(s) 218, the network interface 214 may in someembodiments include only wireless interface(s) or only wiredinterface(s).

In one example, the playback device 200 and one other playback devicemay be paired to play two separate audio components of audio content.For instance, playback device 200 may be configured to play a leftchannel audio component, while the other playback device may beconfigured to play a right channel audio component, thereby producing orenhancing a stereo effect of the audio content. The paired playbackdevices (also referred to as “bonded playback devices”) may further playaudio content in synchrony with other playback devices.

In another example, the playback device 200 may be sonicallyconsolidated with one or more other playback devices to form a single,consolidated playback device. A consolidated playback device may beconfigured to process and reproduce sound differently than anunconsolidated playback device or playback devices that are paired,because a consolidated playback device may have additional speakerdrivers through which audio content may be rendered. For instance, ifthe playback device 200 is a playback device designed to render lowfrequency range audio content (i.e. a subwoofer), the playback device200 may be consolidated with a playback device designed to render fullfrequency range audio content. In such a case, the full frequency rangeplayback device, when consolidated with the low frequency playbackdevice 200, may be configured to render only the mid and high frequencycomponents of audio content, while the low frequency range playbackdevice 200 renders the low frequency component of the audio content. Theconsolidated playback device may further be paired with a singleplayback device or yet another consolidated playback device.

By way of illustration, SONOS, Inc. presently offers (or has offered)for sale certain playback devices including a “PLAY:1,” “PLAY:3,”“PLAY:5,” “PLAYBAR,” “CONNECT:AMP,” “CONNECT,” and “SUB.” Any otherpast, present, and/or future playback devices may additionally oralternatively be used to implement the playback devices of exampleembodiments disclosed herein. Additionally, it is understood that aplayback device is not limited to the example illustrated in FIG. 2 orto the SONOS product offerings. For example, a playback device mayinclude a wired or wireless headphone. In another example, a playbackdevice may include or interact with a docking station for personalmobile media playback devices. In yet another example, a playback devicemay be integral to another device or component such as a television, alighting fixture, or some other device for indoor or outdoor use.

b. Example Playback Zone Configurations

Referring back to the media playback system 100 of FIG. 1 , theenvironment may have one or more playback zones, each with one or moreplayback devices. The media playback system 100 may be established withone or more playback zones, after which one or more zones may be added,or removed to arrive at the example configuration shown in FIG. 1 . Eachzone may be given a name according to a different room or space such asan office, bathroom, master bedroom, bedroom, kitchen, dining room,living room, and/or balcony. In one case, a single playback zone mayinclude multiple rooms or spaces. In another case, a single room orspace may include multiple playback zones.

As shown in FIG. 1 , the balcony, dining room, kitchen, bathroom,office, and bedroom zones each have one playback device, while theliving room and master bedroom zones each have multiple playbackdevices. In the living room zone, playback devices 104, 106, 108, and110 may be configured to play audio content in synchrony as individualplayback devices, as one or more bonded playback devices, as one or moreconsolidated playback devices, or any combination thereof. Similarly, inthe case of the master bedroom, playback devices 122 and 124 may beconfigured to play audio content in synchrony as individual playbackdevices, as a bonded playback device, or as a consolidated playbackdevice.

In one example, one or more playback zones in the environment of FIG. 1may each be playing different audio content. For instance, the user maybe grilling in the balcony zone and listening to hip hop music beingplayed by the playback device 102 while another user may be preparingfood in the kitchen zone and listening to classical music being playedby the playback device 114. In another example, a playback zone may playthe same audio content in synchrony with another playback zone. Forinstance, the user may be in the office zone where the playback device118 is playing the same rock music that is being playing by playbackdevice 102 in the balcony zone. In such a case, playback devices 102 and118 may be playing the rock music in synchrony such that the user mayseamlessly (or at least substantially seamlessly) enjoy the audiocontent that is being played out-loud while moving between differentplayback zones. Synchronization among playback zones may be achieved ina manner similar to that of synchronization among playback devices, asdescribed in previously referenced U.S. Pat. No. 8,234,395.

As suggested above, the zone configurations of the media playback system100 may be dynamically modified, and in some embodiments, the mediaplayback system 100 supports numerous configurations. For instance, if auser physically moves one or more playback devices to or from a zone,the media playback system 100 may be reconfigured to accommodate thechange(s). For instance, if the user physically moves the playbackdevice 102 from the balcony zone to the office zone, the office zone maynow include both the playback device 118 and the playback device 102.The playback device 102 may be paired or grouped with the office zoneand/or renamed if so desired via a control device such as the controldevices 126 and 128. On the other hand, if the one or more playbackdevices are moved to a particular area in the home environment that isnot already a playback zone, a new playback zone may be created for theparticular area.

Further, different playback zones of the media playback system 100 maybe dynamically combined into zone groups or split up into individualplayback zones. For instance, the dining room zone and the kitchen zone114 may be combined into a zone group for a dinner party such thatplayback devices 112 and 114 may render audio content in synchrony. Onthe other hand, the living room zone may be split into a television zoneincluding playback device 104, and a listening zone including playbackdevices 106, 108, and 110, if the user wishes to listen to music in theliving room space while another user wishes to watch television.

c. Example Control Devices

FIG. 3 shows a functional block diagram of an example control device 300that may be configured to be one or both of the control devices 126 and128 of the media playback system 100. As shown, the control device 300may include a processor 302, memory 304, a network interface 306, a userinterface 308, and microphone(s) 310. In one example, the control device300 may be a dedicated controller for the media playback system 100. Inanother example, the control device 300 may be a network device on whichmedia playback system controller application software may be installed,such as for example, an iPhone™, iPad™ or any other smart phone, tabletor network device (e.g., a networked computer such as a PC or Mac™).

The processor 302 may be configured to perform functions relevant tofacilitating user access, control, and configuration of the mediaplayback system 100. The memory 304 may be configured to storeinstructions executable by the processor 302 to perform those functions.The memory 304 may also be configured to store the media playback systemcontroller application software and other data associated with the mediaplayback system 100 and the user.

The microphone(s) 310 may include an audio sensor configured to convertdetected sounds into electrical signals. The electrical signal may beprocessed by the processor 302. In one case, if the control device 300is a device that may also be used as a means for voice communication orvoice recording, one or more of the microphone(s) 310 may be amicrophone for facilitating those functions. For instance, the one ormore of the microphone(s) 310 may be configured to detect sound within afrequency range that a human is capable of producing and/or a frequencyrange audible to humans. Other examples are also possible.

In one example, the network interface 306 may be based on an industrystandard (e.g., infrared, radio, wired standards including IEEE 802.3,wireless standards including IEEE 802.11a, 802.11b, 802.11g, 802.11n,802.11ac, 802.15, 4G mobile communication standard, and so on). Thenetwork interface 306 may provide a means for the control device 300 tocommunicate with other devices in the media playback system 100. In oneexample, data and information (e.g., such as a state variable) may becommunicated between control device 300 and other devices via thenetwork interface 306. For instance, playback zone and zone groupconfigurations in the media playback system 100 may be received by thecontrol device 300 from a playback device or another network device, ortransmitted by the control device 300 to another playback device ornetwork device via the network interface 306. In some cases, the othernetwork device may be another control device.

Playback device control commands such as volume control and audioplayback control may also be communicated from the control device 300 toa playback device via the network interface 306. As suggested above,changes to configurations of the media playback system 100 may also beperformed by a user using the control device 300. The configurationchanges may include adding/removing one or more playback devices to/froma zone, adding/removing one or more zones to/from a zone group, forminga bonded or consolidated player, separating one or more playback devicesfrom a bonded or consolidated player, among others. Accordingly, thecontrol device 300 may sometimes be referred to as a controller, whetherthe control device 300 is a dedicated controller or a network device onwhich media playback system controller application software isinstalled.

The user interface 308 of the control device 300 may be configured tofacilitate user access and control of the media playback system 100, byproviding a controller interface such as the controller interface 400shown in FIG. 4 . The controller interface 400 includes a playbackcontrol region 410, a playback zone region 420, a playback status region430, a playback queue region 440, and an audio content sources region450. The user interface 400 as shown is just one example of a userinterface that may be provided on a network device such as the controldevice 300 of FIG. 3 (and/or the control devices 126 and 128 of FIG. 1 )and accessed by users to control a media playback system such as themedia playback system 100. Other user interfaces of varying formats,styles, and interactive sequences may alternatively be implemented onone or more network devices to provide comparable control access to amedia playback system.

The playback control region 410 may include selectable (e.g., by way oftouch or by using a cursor) icons to cause playback devices in aselected playback zone or zone group to play or pause, fast forward,rewind, skip to next, skip to previous, enter/exit shuffle mode,enter/exit repeat mode, enter/exit cross fade mode. The playback controlregion 410 may also include selectable icons to modify equalizationsettings, and playback volume, among other possibilities.

The playback zone region 420 may include representations of playbackzones within the media playback system 100. In some embodiments, thegraphical representations of playback zones may be selectable to bringup additional selectable icons to manage or configure the playback zonesin the media playback system, such as a creation of bonded zones,creation of zone groups, separation of zone groups, and renaming of zonegroups, among other possibilities.

For example, as shown, a “group” icon may be provided within each of thegraphical representations of playback zones. The “group” icon providedwithin a graphical representation of a particular zone may be selectableto bring up options to select one or more other zones in the mediaplayback system to be grouped with the particular zone. Once grouped,playback devices in the zones that have been grouped with the particularzone will be configured to play audio content in synchrony with theplayback device(s) in the particular zone. Analogously, a “group” iconmay be provided within a graphical representation of a zone group. Inthis case, the “group” icon may be selectable to bring up options todeselect one or more zones in the zone group to be removed from the zonegroup. Other interactions and implementations for grouping andungrouping zones via a user interface such as the user interface 400 arealso possible. The representations of playback zones in the playbackzone region 420 may be dynamically updated as playback zone or zonegroup configurations are modified.

The playback status region 430 may include graphical representations ofaudio content that is presently being played, previously played, orscheduled to play next in the selected playback zone or zone group. Theselected playback zone or zone group may be visually distinguished onthe user interface, such as within the playback zone region 420 and/orthe playback status region 430. The graphical representations mayinclude track title, artist name, album name, album year, track length,and other relevant information that may be useful for the user to knowwhen controlling the media playback system via the user interface 400.

The playback queue region 440 may include graphical representations ofaudio content in a playback queue associated with the selected playbackzone or zone group. In some embodiments, each playback zone or zonegroup may be associated with a playback queue containing informationcorresponding to zero or more audio items for playback by the playbackzone or zone group. For instance, each audio item in the playback queuemay comprise a uniform resource identifier (URI), a uniform resourcelocator (URL) or some other identifier that may be used by a playbackdevice in the playback zone or zone group to find and/or retrieve theaudio item from a local audio content source or a networked audiocontent source, possibly for playback by the playback device.

In one example, a playlist may be added to a playback queue, in whichcase information corresponding to each audio item in the playlist may beadded to the playback queue. In another example, audio items in aplayback queue may be saved as a playlist. In a further example, aplayback queue may be empty, or populated but “not in use” when theplayback zone or zone group is playing continuously streaming audiocontent, such as Internet radio that may continue to play untilotherwise stopped, rather than discrete audio items that have playbackdurations. In an alternative embodiment, a playback queue can includeInternet radio and/or other streaming audio content items and be “inuse” when the playback zone or zone group is playing those items. Otherexamples are also possible.

When playback zones or zone groups are “grouped” or “ungrouped,”playback queues associated with the affected playback zones or zonegroups may be cleared or re-associated. For example, if a first playbackzone including a first playback queue is grouped with a second playbackzone including a second playback queue, the established zone group mayhave an associated playback queue that is initially empty, that containsaudio items from the first playback queue (such as if the secondplayback zone was added to the first playback zone), that contains audioitems from the second playback queue (such as if the first playback zonewas added to the second playback zone), or a combination of audio itemsfrom both the first and second playback queues. Subsequently, if theestablished zone group is ungrouped, the resulting first playback zonemay be re-associated with the previous first playback queue, or beassociated with a new playback queue that is empty or contains audioitems from the playback queue associated with the established zone groupbefore the established zone group was ungrouped. Similarly, theresulting second playback zone may be re-associated with the previoussecond playback queue, or be associated with a new playback queue thatis empty, or contains audio items from the playback queue associatedwith the established zone group before the established zone group wasungrouped. Other examples are also possible.

Referring back to the user interface 400 of FIG. 4 , the graphicalrepresentations of audio content in the playback queue region 440 mayinclude track titles, artist names, track lengths, and other relevantinformation associated with the audio content in the playback queue. Inone example, graphical representations of audio content may beselectable to bring up additional selectable icons to manage and/ormanipulate the playback queue and/or audio content represented in theplayback queue. For instance, a represented audio content may be removedfrom the playback queue, moved to a different position within theplayback queue, or selected to be played immediately, or after anycurrently playing audio content, among other possibilities. A playbackqueue associated with a playback zone or zone group may be stored in amemory on one or more playback devices in the playback zone or zonegroup, on a playback device that is not in the playback zone or zonegroup, and/or some other designated device.

The audio content sources region 450 may include graphicalrepresentations of selectable audio content sources from which audiocontent may be retrieved and played by the selected playback zone orzone group. Discussions pertaining to audio content sources may be foundin the following section.

d. Example Audio Content Sources

As indicated previously, one or more playback devices in a zone or zonegroup may be configured to retrieve for playback audio content (e.g.according to a corresponding URI or URL for the audio content) from avariety of available audio content sources. In one example, audiocontent may be retrieved by a playback device directly from acorresponding audio content source (e.g., a line-in connection). Inanother example, audio content may be provided to a playback device overa network via one or more other playback devices or network devices.

Example audio content sources may include a memory of one or moreplayback devices in a media playback system such as the media playbacksystem 100 of FIG. 1 , local music libraries on one or more networkdevices (such as a control device, a network-enabled personal computer,or a networked-attached storage (NAS), for example), streaming audioservices providing audio content via the Internet (e.g., the cloud), oraudio sources connected to the media playback system via a line-in inputconnection on a playback device or network devise, among otherpossibilities.

In some embodiments, audio content sources may be regularly added orremoved from a media playback system such as the media playback system100 of FIG. 1 . In one example, an indexing of audio items may beperformed whenever one or more audio content sources are added, removedor updated. Indexing of audio items may involve scanning foridentifiable audio items in all folders/directory shared over a networkaccessible by playback devices in the media playback system, andgenerating or updating an audio content database containing metadata(e.g., title, artist, album, track length, among others) and otherassociated information, such as a URI or URL for each identifiable audioitem found. Other examples for managing and maintaining audio contentsources may also be possible.

The above discussions relating to playback devices, control devices,playback zone configurations, and media item sources provide only someexamples of operating environments within which functions and methodsdescribed below may be implemented. Other operating environments andconfigurations of media playback systems, playback devices, and networkdevices not explicitly described herein may also be applicable andsuitable for implementation of the functions and methods.

III. Example Methods for Providing Information Associated with a MediaItem

As indicated above, discussions herein involve providing for display,information associated with a media item being played by a mediaplayback system. FIG. 5 shows an example media playback systemenvironment 500 within which method 600, as will be discussed below inconnection to FIG. 6 , may be performed. As shown, the media playbacksystem environment 500 includes a computing device 510, a media playbacksystem 508, a graphical display 512, and servers 522.

The computing device 510 may be a network device that can becommunicatively coupled to one or more other network devices via anysuitable wired or wireless interface and protocol. For instance, thecomputing device 510 may be communicatively coupled to the one or moreother network devices via one or more of a local area network (LAN), awide area network (WAN), near field communication (NFC), and Bluetooth,among other possibilities. In one example, the computing device 510 maybe communicatively coupled to the media playback system 508 via a LAN.In another example, the computing device 510 may be communicativelycoupled to the servers 522 via both the LAN and a WAN. In a furtherexample, the computing device 510 may be coupled to the graphicaldisplay 512 via a wired. Other example configurations between thecomputing device 510 and the one or more other devices are alsopossible.

In one example, the computing device 510 may be a component of a “smartTV” having the graphical display 512. In another example, the computingdevice 510 may be a device that can be coupled to a television havingthe graphical display 412. In one case, the computing device 510 may bea dongle type device that can be coupled (i.e. plugged in) to thetelevision via a universal serial bus (USB) interface and/or ahigh-definition multimedia interface (HDMI). In another case, thecomputing device 510 may be a set-top box type device that can becoupled to the television having the graphical display 512 via a USBinterface, HDMI, or A/V cables, among other possibilities. In a furthercase, the computing device 510 may be a personal computer, and thegraphical display 412 may be a display monitor for the personalcomputer. Whichever the case, the computing device 510 may be configuredto execute one or more applications for receiving and processing contentto be displayed on the graphical display 512. Other examples are alsopossible.

The media playback system 508 includes a playback device 502, a playbackdevice 504, and a control device 506. In discussions herein,communication with the media playback system 508 may involvecommunication with one or more of the playback device 502, the playbackdevice 504, and the playback device 506.

The media playback system 508 may be a variation or representative ofthe media playback system 100 shown in and described in connection toFIG. 1 . The playback device 502 and the playback device 504 may besimilar to the playback device 200 shown in and described in connectionto FIG. 2 . The control device 506 may be similar to the control device300 shown in and described in connection to FIG. 3 . As discussedpreviously, the first playback device 506 and the second playback device508 may play a media item individually or play a media item insynchrony, as part of a playback zone, or as part of a zone group. Thecontrol device 506 may be used to manage and control the first playbackdevice 506 and the second playback device 508. Other examples are alsopossible.

The servers 522 include server 514, server 516, server 518, and server520. The servers 522 may each be associated with a media informationsource from which data indicating information associated with mediaitems may be received. For instance, the servers 522 may include aserver associated with a media service provider, a server associatedwith a social network, a server associated with an internet searchengine, and/or a server associated with a media information aggregationservice, among other possibilities. In one example, the server 514 maybe a server associated with a streaming media service provider fromwhich the media playback system 508 may be configured to receive themedia item for playback. The streaming media service provider may alsoprovide information associated with the media item, in addition toproviding audio data streams of the media item. The media playbacksystem 508 may be communicatively coupled to the server 514 via a LANand/or a WAN. Other examples are also possible.

FIG. 6 shows an example flow diagram of a method 600 for providinginformation associated with a media item. Method 600 presents an exampleof a method that can be implemented within an operating environmentinvolving, for example, the media playback system 100 of FIG. 1 , one ormore of the playback device 200 of FIG. 2 , one or more of the controldevice 300 of FIG. 3 , and/or the media playback system environment 500of FIG. 5 . In one example, the method 600 may be performed in whole orin part by a computing device in communication with a media playbacksystem. For instance, the method 600 may be performed by the computingdevice 510 of FIG. 5 . In such a case, the computing device 510 may haveinstalled thereon a software application that includes instructionsexecutable by a processor of the computing device 510 to cause thecomputing device 510 to perform the functions of method 600.

Method 600 may include one or more operations, functions, or actions asillustrated by one or more of blocks 602-608. Although the blocks areillustrated in sequential order, these blocks may also be performed inparallel, and/or in a different order than those described herein. Also,the various blocks may be combined into fewer blocks, divided intoadditional blocks, and/or removed based upon the desired implementation.In addition, for the method 600 and other processes and methodsdisclosed herein, the flowchart shows functionality and operation of onepossible implementation of present embodiments. In this regard, eachblock may represent a module, a segment, or a portion of program code,which includes one or more instructions executable by a processor forimplementing specific logical functions or steps in the process. Theprogram code may be stored on any type of computer readable medium, forexample, such as a storage device including a disk or hard drive.

The computer readable medium may include non-transitory computerreadable medium, for example, such as computer-readable media thatstores data for short periods of time like register memory, processorcache and Random Access Memory (RAM). The computer readable medium mayalso include non-transitory media, such as secondary or persistent longterm storage, like read only memory (ROM), optical or magnetic disks,compact-disc read only memory (CD-ROM), for example. The computerreadable media may also be any other volatile or non-volatile storagesystems. The computer readable medium may be considered a computerreadable storage medium, for example, or a tangible storage device. Inaddition, for the method 600 and other processes and methods disclosedherein, each block may represent circuitry that is wired to perform thespecific logical functions in the process.

As shown in FIG. 6 , the method 600 involves receiving data indicating amedia item being played by a playback device of a media playback systemat block 602, based on the data indicating the media item, transmittingto one or more media information sources, a request for informationassociated with the media item at block 604, receiving from the one ormore media information sources, data indicating information associatedwith the media item at block 606, and while the playback device isplaying the media item, providing for display on a graphical display,representations of at least a portion of the information.

a. Receiving Data Indicating a Media Item

At block 602, the method 600 involves receiving data indicating a mediaitem being played by a playback device of a media playback system.Referring to FIG. 5 , the computing device 510 may receive dataindicating a media item being played by one or both of the playbackdevices 502 and 504 of the media playback system 508.

The data indicating the media item may indicate one or more of a tracktitle of the media item, an artist name associated with the media item,an album name associated with the media item, a genre associated withthe media item, a track identification associated with the media item,and a service provider from which the media item is streamed. Forinstance, the data indicating the media item may include metadataassociated with the media item. In one case, the track identificationassociated with the media item may be unique to the service providerfrom which the media item is being streamed. As such, a different trackidentification associated with the media item may exist for anotherservice provider. Other examples are also possible.

In one example, prior to receiving the data indicating the media itembeing played by the playback device, the computing device 510 may havetransmitted to one or more of the devices in the media playback system510, a request for the data indicating the media item being played. Inother words, the data indicating the media item may have been receivedby the computing device 510 in response to a request for the data by thecomputing device.

In another example, prior to receiving the data indicating the mediaitem being played by the playback device, the computing device 510 mayhave subscribed to receive data indicating media items being played bythe playback devices 502 and/or 504 in the media playback system 508. Inone case, the computing device 510 may have subscribed to receive dataindicating media items being played by any of the playback devices 502and 504 in the media playback system 508. As such, one or more devicesof the media playback system 508 may be configured to transmit to thecomputing device 510, when one or both of the playback devices 502 and504 is playing a media item, data indicating the media item. As such,the data indicating the media item may be transmitted to and received bythe computing device 510 each time one or more of the playback devices502 and 504 begins playing a media item, or is about to play a mediaitem.

In another case, the computing device 510 may have subscribed to receiveonly data indicating media items played by one of the playback devices502 and 504. For instance, the computing device 510 may have subscribedto only receive data indicating media items played by the playbackdevice 504. In such a case, the computing device 510 may receive, whenthe playback device 504 is playing a media item, or is about to play themedia item, data indicating the media item. On the other hand, thecomputing device 510 may not receive data indicating media items beingplayed by the playback device 502.

In a further case, the computing device 510 may have subscribed to aparticular configuration of the playback device 502 and 504. Forinstance, the computing device 510 may have subscribed to only receivedata indicating media items played by a zone group including both theplayback device 502 and 504. As such, the computing device 510 mayreceive, when the playback device 502 and 504 are synchronously playinga media item as a zone group, data indicating the media item beingplayed by zone group of both playback devices 502 and 504. Otherexamples are also possible.

In one example, the computing device 510 may receive the data indicatingthe media item via a communication interface provided by a softwareapplication associated with the media playback system that is installedon the computing device 510. As indicated previously, the softwareapplication may include instructions executable by a processor of thecomputing device 510 to cause the computing device 510 to perform thefunctions of method 600. In one case, the computing device 510 may notreceive any data indicating any media item being played by the mediaplayback system 508 unless the software application is running.Accordingly, prior to receiving the data indicating the media item beingplayed by the playback device, the computing device 510 may receive acommand to launch the software application.

In one case, the command to launch the software application may be basedon an input from a user of the computing device 510. For instance, thesoftware application may be launched when the computing device 510 ispowered on. In another case, the command to launch the softwareapplication may be based on an input from the media playback system 508.For instance, the computing device 510 and devices of the media playbacksystem 508 may both have implemented thereon a Universal Plug and Play(UPnP) protocol such that the computing device 510 and the devices ofthe media playback system 508 are capable of discovering one anotherover a network (i.e. a LAN or WAN as described in connection to FIG. 5). In such a case, upon discovery of the computing device 510 by one ormore devices of the media playback system 508, the media playback system508 may transmit to the computing device 510, a command to launch thesoftware application, and the computing device 510 may responsivelylaunch the software application. Alternatively, upon discovery of themedia playback system 508 by the computing device 510, the computingdevice 510 may automatically launch the software application. Uponlaunching the software application, the computing device 510 maytransmit to one or more devices in the media playback system, such asthe playback device 502, the playback device 504, or the control device506, data indicating that the software application is running.

In one example, the computing device 510 may not already have thesoftware application associated with the media playback system 508installed thereon. In such a case, the media playback system 508, upondiscovering the computing device 510 may transmit to the computingdevice 510, a command to launch the software application that furtherindicates a uniform resource identifier (URI) of where the softwareapplication can be downloaded. As such, the computing device 510 maydownload the software application using the URI and install the softwareapplication before launching the software application.

In one case, the URI may be included with all commands from the mediaplayback system 508 to launch the software application. In another case,the command from the media playback system 508 to launch the softwareapplication may include the URI because media playback system 508determined that the discovered computing device 510 does not have thesoftware application installed. For instance, the media playback system508 may maintain data identifying computing devices that have thesoftware application installed. As such, if the computing device 510 isnot identified in the maintained data, the command to cause thecomputing device 510 to launch the software application may accordinglyindicate the URI. Other examples are also possible.

In one example, if only the playback device 502 is playing the mediaitem, the computing device 510 may receive the data indicating the mediaitem from the playback device 502 that is playing the media item. Inanother example, the computing device 510 may receive the dataindicating the media item from the playback device 504, even if theplayback device 504 is not playing the media item. The computing device510 may receive the data indicating the media item from the playbackdevice 504 instead of the playback device 502 because (i) the playbackdevice 504 has a more reliable communicative connection with thecomputing device 510 (i.e. closer physical proximity, more robustwireless communication interface, etc.) than the playback device 502,(ii) the playback device 504 has more data processing bandwidth thanplayback device 502, and/or (iii) the playback device 504 was the deviceof the media playback system 508 that received from the computing device510, a request for the data indicating the media item played by theplayback device 502, among other possibilities.

In one case, the playback device 502 and the playback device 504 may beplaying the media item in synchrony, and the computing device 510 mayreceive the data from one of the playback device 502 and playback device504 playing the media item. For instance, the computing device 510 mayreceive the data from the playback device 502 instead of the playbackdevice 504. The computing device 510 may receive the data from theplayback device 502 instead of the playback device 504 because (i) theplayback device 502 is a group coordinator for the synchronous playbackof the media item by both playback device 502 and playback device 504,(ii) the playback device 502 has a more reliable communicativeconnection with the computing device 510 (i.e. closer physicalproximity, more robust wireless communication interface, etc.) thanplayback device 504, (iii) the playback device 502 has more dataprocessing bandwidth than playback device 504, and/or (iv) the playbackdevice 502 was the device of the media playback system 508 that receivedfrom the computing device 510, a request for the data indicating themedia item, among other possibilities.

In one example, the computing device 510 may receive the data indicatingthe media item from the control device 506 which can be used to controlthe media playback system 508. The computing device 510 may receive thedata from the control device 506 instead of either of the playbackdevices 502 and 504 because (i) the control device 506 has a morereliable communicative connection with the computing device 510 (i.e.closer physical proximity, more robust wireless communication interface,etc.) than playback devices 502 or 504, (ii) the control device 506 hasmore data processing bandwidth than playback devices 502 or 504, and/or(iii) the control device 506 was the device of the media playback system508 that received from the computing device 510, a request for the dataindicating the media item, among other possibilities. Other examples arealso possible.

b. Transmitting a Request for Information Associated with the Media Item

At block 604, the method 600 involves based on the data indicating themedia item, transmitting to one or more media information sources, arequest for information associated with the media item. The one or moremedia information sources may include one or more of a service providerfrom which the media item is streamed, a service provider from which themedia item is available, a media information aggregation service, asocial network interface, and a server associated with the mediaplayback system. Some of the one or more media information sources maybe capable of providing similar media information, while some of the oneor more media information sources may be capable of providing mediainformation unavailable from some others of the one or more mediainformation sources.

For illustrative purposes, referring to FIG. 5 , the server 514 may be aserver associated with a streaming media service provider from which themedia playback system 508 is receiving the media item being played, theserver 516 may be a server associated with a social network, the server518 may be associated with a media information aggregation service, andthe server 520 may be associated with an internet search engine. Indiscussions herein, communications between the computing device 510 andone or more media information services may also be represented ascommunications between the computing device 510 and one or more of theservers 522. Other examples are also possible.

In one case, the computing device 510 may transmit the request forinformation to each of a plurality of media information sources incommunication with the computing device 510. For instance, the computingdevice 510 may transmit the request for information to each of theservers 522.

In another case, the computing device 510 may transmit the request forinformation to only a subset of the plurality of media informationsources in communication with the computing device 510 has access to. Inone example, the computing device 510 may identify from the plurality ofmedia information sources in communication with the computing device510, the one or more media information sources from which informationassociated with the media item is available. For instance, if the dataindicating the media item indicates that the genre of the media item is“classic rock” and a first of the plurality of media information sourcesis a media information aggregation source for “rock 'n roll” mediaitems, the computing device 510 may identify the first of the pluralityof media information sources as one from which information associatedwith the media item is available, and transmit a request to the first ofthe plurality of media information sources. On the other hand, if asecond of the plurality of the media information sources is a mediaaggregation source for “hip hop” media items, the computing device 510may identify the second of the plurality of media information sources asone from which information associated with the media item is notavailable, and accordingly not transmit a request to the second one ofthe plurality of media information sources. Other examples are alsopossible.

In one example, prior to transmitting the request for information to theone or more media information sources, the computing device 510 mayreceive data identifying the one or more media information sources. Inone example, the computing device 510 may transmit to the media playbacksystem 508, a request for data identifying the one or more mediainformation sources, and responsively, receive data identifying the oneor more media information sources. In one example, the media playbacksystem 508 may be associated with a first media information source andnot a second media information source. For instance, a user account(i.e. email address, username, etc.) used by the media playback system508 to access media content from the streaming media service server 514may also be used to access the first media information source (i.e. viaa paid subscription), but not the second media information source. Insuch a case, the computing device 510 may receive data identifying thefirst media information source as a media information source from whichthe computing device 510 is to request information. The data may furtherindicate the user account via which the computing device 510 can requestthe information. Other examples are also possible.

As indicated, the request for information may be based on the receiveddata indicating the media item. For instance, the request forinformation may identify a track title, an artist name, album title, agenre, and/or a track identification, among other possibilities. Inother words, in some cases, the request for information may includemetadata associated with the media item.

In one example, the computing device 510 may send similar requests forinformation to each of the servers 522. In another example, thecomputing device 510 may send different requests for information to theservers 522 based on the media information source each server isassociated with.

For instance, if the media information source is a media serviceprovider from which the media item is being streamed, or is available tobe streamed, the request for information may include the trackidentification for the media item corresponding to the media serviceprovider. On the other hand, if the media information source is not amedia service provider, the request for information may omit any trackidentification of the media item. Instead, in such a case, the requestmay indicate just the track title, artist name, album title, and/orgenre associated with the media item, among other examples. In anotherinstance, if the media information is an internet search engine, therequest for information may include various search terms and/orcombinations of search terms for retrieving information associated withthe media item. Other examples are also possible.

c. Receiving Data Indicating Information Associated with the Media Item

At block 606, the method 600 involves receiving from one or more mediainformation sources, data indicating information associated with themedia item. Continuing with the examples above, the computing device 510may receive from the servers 522, data indicating information associatedwith the media item.

The information associated with the media item may include one or moreof biographical information associated with an artist of the media item,one or more facts about the media item, one or more images associatedwith the media item, information associated with a genre of the mediaitem, one or more artists similar to the artist of the media item, oneor more media items similar to the media item being played, social mediacontent associated with the media item, social media content associatedwith the artist of the media item, and song lyrics associated with themedia item, among other possibilities.

In one example, the data indicating the information associated with themedia item may be data containing the information. For instance, if theinformation includes one or more images associated with the media item,the data may contain image data of the one or more images. In anotherexample, the data indicating the information associated with the mediaitem may include one or more uniform resource identifiers (URIs) of theinformation associated with the media item. For instance, if theinformation includes a video associated with the media item, the datamay indicate a URI from which the computing device 510 can access thevideo. Other examples are also possible.

As indicated above, the computing device 510 may receive the dataindicating the information at block 606, in response to the request forinformation transmitted at block 604. In one example, the computingdevice 510 may transmit requests for information to each of the one ormore media information sources at substantially the same time.Subsequently, the computing device 510 may receive from the one or moremedia information sources, respective data indicating informationassociated with the media item. In such a case, a particular request forinformation that was sent to a media information source may beindependent of any other requests for information sent to other mediainformation sources or any information received from any of the mediainformation sources.

In some examples, as shown in FIG. 6 , blocks 604 and 606 of method 600may be iteratively executed. In one case, the computing device 510 mayiteratively transmit requests to each of the one or more mediainformation sources according to respective information prioritiescorresponding to each media information source, and iteratively receiveinformation associated with the media item in response to thetransmitted requests.

In one case, a media information source that is a media service provideror a media information aggregation service may offer information that ismore consistent and/or reliable than a media information source that isan internet search engine or a social network. In such a case, the mediaservice provider or media information aggregation service may havehigher respective information priorities than the internet search engineor social network. In some instances, primary media information sourcesmay be capable of providing media information unavailable from secondarymedia information sources. Analogously, in some instance, secondarymedia information sources may be capable of providing media informationunavailable from primary media information sources.

In discussions herein, a media information source having a higherinformation priority may be referred to as a primary media informationsource, while a media information source having a lower informationpriority may be referred to as a secondary media information source.

In one instance, an information priority of a media information sourcemay be determined by the computing device 510 based on characteristicsof the media information source, as indicated above. In anotherinstance, the information priority of the media information source maybe provided by the media playback system 508 and/or a user of thecomputing device 510 during setup of the computing device 510. Forinstance, the user may indicate a preference for a particular mediainformation source over another media information source.

In one case, the computing device 510 may receive, prior to transmittingthe request for information associated with the media item, dataindicating that a first of the one or more media information sources isa primary media information source, and a second of the one or moremedia information sources is a secondary media information source. Thedata indicating the primary and secondary media information sources mayfurther indicate that the secondary media information source is a mediainformation source from which to request information otherwise notavailable from the primary media information source.

The computing device 510 may then, according the data indicating theprimary and secondary media information sources, transmit to the primarymedia information source, a first request for first informationassociated with the media item; receive from the primary mediainformation source, first data indicating first information associatedwith the media item; and subsequently transmit to the secondary mediainformation source, a second request for second information based on theinformation from the primary media information source. In one case, thesecond request for second information may be a request for informationnot available and/or not provided by the primary media informationsource. In such a case, the computing device 510 may then responsivelyreceive from the secondary media information source, second dataindicating second information associated with the media item thatincludes information not included in the first information.

d. Providing for Display, Representations of the Information

At block 608, the method 600 involves while the playback device isplaying the media item, providing for display on a graphical display,representations of at least a portion of the information. In oneexample, providing the representations for display on the graphicaldisplay may involve the computing device 510 categorizing at least theportion of the information associated with the media item, and providingfor display on the graphical display 512, the representations of atleast the portion of the information according to an information-displaytemplate for the graphical display, and one or more categories of atleast the portion of the information. In one case, theinformation-display template may define the one or more categories.

For instance, the information-display template may include an artistbiography section and a social media section. As such, the computingdevice 510 may parse the received data to determine the informationindicated by the data, and categorize the information as either relatingto artist biography or social media. The computing device 510 may thencause representations of the information to be displayed in either theartist biography section or the social media section based on thecategorization of the information.

In one example, some information from different media informationsources may be categorized into the same category. In another example,the information may be categorized at least partially based on the mediainformation source from which the information was received.

In one example, the information-display template may be modified basedon the information available. For instance, if the information-displaytemplate includes a section for displaying a music video associated withthe media item, but no music video associated with the media item isavailable, the information-display template may be dynamically modifiedsuch that the section for displaying the music video becomes a sectionfor displaying photos associated with the artist of the media item.Other examples are also possible.

FIG. 7 shows an example display of information associated with a mediaitem, as provided on a graphical interface 700. The graphical interfacemay be provided on the graphical display 512 by the computing device510. One having ordinary skill in the art will appreciate that therepresentations shown as displayed on the graphical interface 700 is forillustrative purposes only, and that other examples within the scope ofdiscussions herein are also possible.

As shown in FIG. 7 , a representation 704 of information associated withthe “Now Playing” media item being played by the media playback system508 may be displayed on the graphical interface 700. In one example, thebasic information 704 may be similar in content and scope to informationprovided on the control interface of the control device 506 while themedia item is being played by the media playback system 508. In oneinstance, the basic information 704 may have been received from theserver 514 that is associated with the service provider from which themedia item is streamed. As shown in this illustrative example, the mediaitem being played has track title “Track1,” is by artist “Artist1,” andcan be found in album “Album1” having album art “AlbumArt1.”

As indicated above, the media playback system 508 may be a multi-zonemedia playback system. As such, the computing device 510 may furtherprovide for display on the graphical display 512, a representation of azone group associated with the playback devices 502 and/or 504 that isplaying the media item. As shown in FIG. 7 , a representation 702 of azone group within which the media item is being played is provided. Inthis illustrative example, the playback device 502 may be in a “LivingRoom” zone group of the media playback system, while the playback device504 may be in a “Dining Room” zone group of the media playback system.In this case, Track1 by Artist1 may be played by the playback devices502 and 504 in a zone group “Living Room+Dining Room.” In one example,data indicating the zone group within which the media item is beingplayed may be received from the media playback system 508.

Also shown in FIG. 7 , a representation 706 of information associatedwith a “Playing Next” media item that is to be played next in a playbackqueue is displayed on the graphical interface 700. Discussions hereinhave thus far generally related to the media item that is being played,or about to be played by the media playback system 508. Nevertheless,information associated with the media item that is next in the playbackqueue may also be requested, received, and displayed by executingfunctions similar to that described in connection to method 600 of FIG.6 .

For instance, the computing device 510 may receive data indicating thenext media item that is to be played by the media playback system 508subsequent to playback of the current media item. Then, based on thedata indicating the next media item, the computing device 510 maytransmit to at least one of the one or more media information sources, arequest for next media item information associated with the next mediaitem. Subsequently, the computing device 510 may receive from the one ormore media information sources, data indicating the next media iteminformation associated with the second media item, and responsively,while the media playback system 508 is playing the current media item,provide for display on the graphical display 512, representations of atleast a portion of the next media item information. One having ordinaryskill in the art will appreciate that various embodiments discussed inconnection to method 600 of FIG. 6 may also be applicable to the displayof information associated with the next media item.

Also as shown in FIG. 7 , a representation 708 of “Song Lyrics”information associated with the media item being played, arepresentation 710 of “Fun Facts” information associated with the mediaitem being played, a representation 712 of images associated withArtist1 of the media item, and a representation 714 of social mediainformation associated with the media item are provided.

As indicated above, the information represented by each of therepresentations 704-714 may be from a single media information source,or multiple media information sources. For instance, the Fun Factsinformation represented by representation 710 may be from multiple mediainformation sources, while the Song Lyrics information represented byrepresentation 708 may be from a single information source.

In one example, the images associated with Artist1 that is representedby representation 712 may be provided by a media information source thatis an Internet search engine, via an image search for Artist1. In thiscase, the representation 710 may be a web-interface configured to returnand display results of the image search for Artist 1. In other words,the representation 710 may be displaying information provided from a URIassociated with the image search.

In one example, the representations of information may be displayeddynamically. In one case, the representation 708 of Song Lyricsinformation may be configured to scroll dynamically according to aplayback progress of the media item by the media playback system 508. Inanother case, the representation 714 of social media information may bedynamically updated whenever new social media associated with the mediaitem becomes available. Analogous to the example of the representation710 above, the representation 714 may be a social media interfaceconfigured to return and display results of a search for social mediaassociated with the media item. Accordingly, the representation 714 maybe displaying information provided from a URI associated with the socialmedia search. As such, the representation 714 may be dynamically updatedwhenever the social media search returns new social media. Otherexamples are also possible.

In one example, the computing device 510 may provide for display on thegraphical display 512, representations of at least the portions of theinformation after all data indicating the information has been received,and processed. In another example, the computing device may provide fordisplay on the graphical display, representations of at least theportions of the information as data indicating the information isreceived, and processed. For instance, if data indicating the SongLyrics information of the media item is received and processed beforedata indicating the Fun Facts information associated with the mediaitem, the representation 708 may be displayed before the representation710.

In one case, as indicated previously, data indicating first informationmay be received (and processed) before data indicating secondinformation because a first media information source providing the firstinformation may have received a request for the first information beforea second media information source providing the second informationreceived a request for the second information. In another case, dataindicating first information may be received (and processed) before dataindicating second information because the first media information sourceproviding the first information may have a greater processing capabilityor bandwidth than the second media information source providing thesecond information. Other examples are also possible.

While discussions herein generally refer to media items being played bythe media playback system 508, or information associated with mediaitems being played by the media playback system 508, one having ordinaryskill in the art will understand that the examples herein may also applyto media items that are about to be played. Further, the examples hereinmay further be applied to a media item that has been selected, but isnot necessarily being played, about to be played, or scheduled to beplayed next in a playback queue.

For instance, the information requested for and subsequently displayedmay be associated with a media item in a playback queue or media itemcatalog that has been selected via the control device (but notnecessarily for playback). In other words, the functions as described inconnection to the method 600 of FIG. 6 may alternatively be performed inresponse to a selection of a representation of a media item on a controlinterface, rather than a playback of the media item. Other examples arealso possible.

Further, while discussions herein generally refer to displayinginformation associated with a media item being played in one zone group,one having ordinary skill in the art will appreciate that the computingdevice 510 may further be configured to receive information associatedwith media items being played in multiple, different zone groups, andresponsively cause for display, information associated with the mediaitems being played in the multiple zone groups. In one case, thedifferent zone groups may be zone groups within a single household, orzone groups associated with a single media playback system. In anothercase, the different zone groups may be zone groups within a plurality ofhouseholds, or zone groups associated with multiple media playbacksystems.

In one example, the computing device 510 may receive data indicatingmedia items being played in the different zone groups, request andreceive information associated with the media items, and cause fordisplay, at least portions of the received information associated withthe media items being played in the different zone groups. In one case,the computing device 510 may cause for display at the same time, theinformation associated with the media items played in the different zonegroups. For instance, information-display template may includesub-regions corresponding to the different zone groups playing mediaitems.

In another case, the computing device 510 may cause for display, onezone group at a time, information associated with a media item beingplayed in a particular zone group out of the different zone groups. Insuch a case, the computing device 510 may cause for display theinformation associated with the media item being played in theparticular zone group based on an input to display the informationassociated with media items played in the particular zone group. In oneinstance, the input may indicate a selection of the particular zonegroup (i.e from a user input via a drop down menu of zone groups). Insuch an instance, a subsequent input indicating a selection of anotherzone group may cause information associated with media items beingplayed in the other zone group to be displayed. In another instance, theinput may indicate that the graphical display 412 is physically locatedwithin the particular zone group. Other examples are also possible.

In another example, the computing device 510 may be in communicationwith multiple graphical displays. For instance, while the computingdevice 510 is causing for display on the graphical display 512,information associated with a media item being played in a first zonegroup, the computing device 510 may also receive data indicating a mediaitem being played in a second zone group, request and receiveinformation associated with the media item being played in the secondzone group, and cause for display on a second graphical display, atleast a portion of the information associated with the media item beingplayed in the second zone group. In one case, the first graphicaldisplay may be physically located in an area corresponding to the firstzone group, and the second graphical display may be physically locatedin an area corresponding to the second zone group. Other examples arealso possible.

In yet another example, the computing device 510 may correspond to aspecific zone group, and may be configured to receive data indicating amedia item being played in the specific zone group, request and receiveinformation associated with the media item played in the specific zonegroup, and provide for display on the graphical display 512, at least aportion of the information associated with the media items played in thespecific zone group. In one case, the graphical display 512 may beconfigured to display information associated with media items played inanother zone group, only if and when the specific zone group is notplaying any media item. In another case, the graphical display 512 maybe configured to not display information associated with any media item,if the specific zone group is not playing any media item, even if mediaitems are being played in other zone groups. Other examples are alsopossible.

In one case, the media playback system environment 500 may include asecond computing device in addition to the computing device 510corresponding to the specific zone group, as described in the aboveexample. The second computing device may correspond to a second specificzone group and may be configured to receive data indicating a media itembeing played in the second specific zone group, request and receiveinformation associated with the media item played in the second specificzone group, and provide for display on a second graphical display, atleast a portion of the information associated with the media itemsplayed in the second specific zone group.

In this example, if the specific zone group and the second specific zonegroup are combined into a single zone group to play a media item insynchrony, the graphical display 512 and the second graphical displaymay display substantially similar information associated with the mediaitem played in synchrony in the single combined zone group. Otherexamples are also possible.

IV. Conclusion

The description above discloses, among other things, various examplesystems, methods, apparatus, and articles of manufacture including,among other components, firmware and/or software executed on hardware.It is understood that such examples are merely illustrative and shouldnot be considered as limiting. For example, it is contemplated that anyor all of the firmware, hardware, and/or software aspects or componentscan be embodied exclusively in hardware, exclusively in software,exclusively in firmware, or in any combination of hardware, software,and/or firmware. Accordingly, the examples provided are not the onlyway(s) to implement such systems, methods, apparatus, and/or articles ofmanufacture.

Additionally, references herein to “embodiment” means that a particularfeature, structure, or characteristic described in connection with theembodiment can be included in at least one example embodiment of aninvention. The appearances of this phrase in various places in thespecification are not necessarily all referring to the same embodiment,nor are separate or alternative embodiments mutually exclusive of otherembodiments. As such, the embodiments described herein, explicitly andimplicitly understood by one skilled in the art, can be combined withother embodiments.

The specification is presented largely in terms of illustrativeenvironments, systems, procedures, steps, logic blocks, processing, andother symbolic representations that directly or indirectly resemble theoperations of data processing devices coupled to networks. These processdescriptions and representations are typically used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art. Numerous specific details are set forth to provide athorough understanding of the present disclosure. However, it isunderstood to those skilled in the art that certain embodiments of thepresent disclosure can be practiced without certain, specific details.In other instances, well known methods, procedures, components, andcircuitry have not been described in detail to avoid unnecessarilyobscuring aspects of the embodiments. Accordingly, the scope of thepresent disclosure is defined by the appended claims rather than theforgoing description of embodiments.

When any of the appended claims are read to cover a purely softwareand/or firmware implementation, at least one of the elements in at leastone example is hereby expressly defined to include a tangible,non-transitory medium such as a memory, DVD, CD, Blu-ray, and so on,storing the software and/or firmware.

The invention claimed is:
 1. A computing device comprising: at least oneprocessor; at least one non-transitory computer-readable mediumcomprising program instructions that are executable by the at least oneprocessor such that the computing device is configured to: subscribe toreceive data indicating media items played by a media playback system,the media playback system comprising a first playback device, a secondplayback device, and a control device; receive data indicating a mediaitem being played by at least one of the first playback device or thesecond playback device, wherein the data is received, based on acondition of the media playback system, from one of: (i) the firstplayback device, (ii) the second playback device, or (iii) the controldevice; based on the received data indicating the media item, transmit,to one or more media information sources, a request for informationassociated with the media item; receive, from the one or more mediainformation sources, additional data indicating information associatedwith the media item; and while the at least one of the first playbackdevice or the second playback device is playing the media item, providefor display, on a graphical display, representations of at least aportion of the information.
 2. The computing device of claim 1, wherein:the condition of the media playback system includes reliability of acommunicative connection between the computing device and each of thefirst playback device, the second playback device and the controldevice; and the data indicating the media item being played is receivedfrom the one of the first playback device, the second playback device orthe control device which has a more reliable communicative connectionwith the computing device.
 3. The computing device of claim 1, wherein:the condition of the media playback system includes a data processingbandwidth of each of the first playback device, the second playbackdevice and the control device; and the data indicating the media itembeing played is received from the one of the first playback device, thesecond playback device or the control device which has more dataprocessing bandwidth.
 4. The computing device of claim 1, wherein: thecondition of the media playback system includes a request for the dataindicating the media item being played by at least one of the firstplayback device and the second playback device, the request receivedfrom the computing device by one of the first playback device, thesecond playback device or the control device; and the data indicatingthe media item being played is received from the one of the firstplayback device, the second playback device or the control device whichreceived the request.
 5. The computing device of claim 1, wherein: thefirst playback device and the second playback device are members of agroup configured for synchronous playback of the media item; one of thefirst playback device or the second playback device is a groupcoordinator; and the data indicating the media item being played isreceived from the group coordinator.
 6. The computing device of claim 1,wherein: the media playback system comprises a third playback device;and the computing device subscribes to receive data indicating mediaitems played by the media playback system via one of: the first playbackdevice, the second playback device, the control device, or the thirdplayback device.
 7. The computing device of claim 1, wherein thegraphical display comprises a display of the computing device.
 8. Thecomputing device of claim 1, further comprising: an interface forexternal devices; wherein the graphical display comprises a display of adisplay device which is coupled to the computing device via theinterface.
 9. The computing device of claim 8, wherein the interfaceincludes one or more of: a wireless connection interface; a UniversalSerial Bus (USB) interface; a high-definition multimedia (HDMI)interface; or an audio/video (A/V) interface.
 10. The computing deviceof claim 1, wherein: the data indicating the media item comprises aUniform Resource Identifier (URI) or a Uniform Resource Locator (URL).11. The computing device of claim 1, wherein: one or more the one ormore media information sources comprises one or more of a server, amedia service provider, a media service aggregation service, a socialnetwork interface, or an internet search engine.
 12. A tangible,non-transitory computer-readable medium having stored thereoninstructions executable by one or more processors to cause a computingdevice to perform functions comprising: subscribing to receive dataindicating media items played by a media playback system, the mediaplayback system comprising a first playback device, a second playbackdevice, and a control device; receiving data indicating a media itembeing played by at least one of the first playback device or the secondplayback device, wherein the data is received, based on a condition ofthe media playback system, from one of: (i) the first playback device,(ii) the second playback device, or (iii) the control device; based onthe received data indicating the media item, transmitting, to one ormore media information sources, a request for information associatedwith the media item; receiving, from the one or more media informationsources, additional data indicating information associated with themedia item; and while the at least one of the first playback device orthe second playback device is playing the media item, providing fordisplay, on a graphical display, representations of at least a portionof the information.
 13. The tangible, non-transitory computer-readablemedium of claim 12, wherein: the condition of the media playback systemincludes reliability of a communicative connection between the computingdevice and each of the first playback device, the second playback deviceand the control device; and the data indicating the media item beingplayed is received from the one of the first playback device, the secondplayback device or the control device which has a more reliablecommunicative connection with the computing device.
 14. The tangible,non-transitory computer-readable medium of claim 12, wherein: thecondition of the media playback system includes a data processingbandwidth of each of the first playback device, the second playbackdevice and the control device; and the data indicating the media itembeing played is received from the one of the first playback device, thesecond playback device or the control device which has more dataprocessing bandwidth.
 15. The tangible, non-transitory computer-readablemedium of claim 12, wherein: the condition of the media playback systemincludes a request for the data indicating the media item being playedby the playback device, the request received from the computing deviceby one of the first playback device, the second playback device or thecontrol device; and the data indicating the media item being played isreceived from the one of the first playback device, the second playbackdevice or the control device which received the request.
 16. Thetangible, non-transitory computer-readable medium of claim 12, wherein:the first playback device and the second playback device are members ofa group configured for synchronous playback of the media item; one ofthe first playback device or the second playback device is a groupcoordinator; and the data indicating the media item being played isreceived from the group coordinator.
 17. A method to be performed by acomputing device, the method comprising: subscribing to receive dataindicating media items played by a media playback system, the mediaplayback system comprising a first playback device, a second playbackdevice, and a control device; receiving data indicating a media itembeing played by at least one of the first playback device or the secondplayback device, wherein the data is received, based on a condition ofthe media playback system, from one of: (i) the first playback device,(ii) the second playback device, or (iii) the control device; based onthe received data indicating the media item, transmitting, to one ormore media information sources, a request for information associatedwith the media item; receiving, from the one or more media informationsources, additional data indicating information associated with themedia item; and while the at least one of the first playback device orthe second playback device is playing the media item, providing fordisplay, on a graphical display, representations of at least a portionof the information.
 18. The method of claim 17, wherein: the conditionof the media playback system includes reliability of a communicativeconnection between the computing device and each of the first playbackdevice, the second playback device and the control device; and the dataindicating the media item being played is received from the one of thefirst playback device, the second playback device or the control devicewhich has a more reliable communicative connection with the computingdevice.
 19. The method of claim 17, wherein: the condition of the mediaplayback system includes a data processing bandwidth of each of thefirst playback device, the second playback device and the controldevice; and the data indicating the media item being played is receivedfrom the one of the first playback device, the second playback device orthe control device which has more data processing bandwidth.
 20. Themethod of claim 17, wherein: the condition of the media playback systemincludes a request for the data indicating the media item being playedby the playback device, the request received from the computing deviceby one of the first playback device, the second playback device or thecontrol device; and the data indicating the media item being played isreceived from the one of the first playback device, the second playbackdevice or the control device which received the request.